import java.util.Scanner;

public class Trader {
    Scanner scan = new Scanner(System.in);

    public String goToTrader(Hero hero) {
        int heroGold = hero.getGold();

        if (heroGold < 10) {
            System.out.println("У вас нет денег чтобы купить что то, идите в город и ищите пути дохода");
            return "3";
        }

        System.out.println(String.format("Что вы хотите приобрести? У вас средтва: %d !", hero.getGold()));
        System.out.println("1. Малую банку здоровья (20 hp) - 10 G");
        System.out.println("2. Среднюю банку здоровья (40 hp) - 15 G");
        System.out.println("3. Большую банку здоровья (60 hp) - 20 G");
        System.out.println("4. Обратно в город");

        String command = scan.nextLine();

        switch (command) {
            case "1":
                buySmall(hero);
                break;
            case "2":
                buyMedium(hero);
                break;
            case "3":
                buyBig(hero);
                break;
            case "4":
                return "3";
            default:
                System.out.println("Выберите один из предложенных вариантов");
                goToTrader(hero);
                break;
        }

        System.out.println("Вы хотите продолжить торговлю или вернуться в город?, (да, нет)");

        String exitCommand = scan.nextLine();

        return exitCommand;
    }

    public void buySmall(Hero hero) {

        hero.setHealthPoints(hero.getHealthPoints() + 20);

        System.out.println("Вы купили малую банку здоровья");
    }

    public void buyMedium(Hero hero) {
        int heroGold = hero.getGold();

        if (heroGold < 15) {
            System.out.println("У вас не хватает денег на данный товар");
            goToTrader(hero);
            return;
        }
        System.out.println("Вы купили среднюю банку здоровья");
        hero.setHealthPoints(hero.getHealthPoints() + 40);
    }

    public void buyBig(Hero hero) {
        int heroGold = hero.getGold();

        if (heroGold < 20) {
            System.out.println("У вас не хватает денег на данный товар");
            goToTrader(hero);
            return;
        }
        System.out.println("Вы купили большую банку здоровья");
        hero.setHealthPoints(hero.getHealthPoints() + 60);
    }

}
